Data Modeling
Introdução ao Data Modeling
Data modeling (modelagem de dados) é um processo analítico aplicado para definir as estruturas de dados de um sistema de forma detalhada. A modelagem é fundamental para a construção de softwares que dependem de interações complexas de dados e serve para organizar e especificar as relações entre diferentes entidades de dados.
Data Modeling
Descrição das Tabelas e Relacionamentos
Tabela: Users
Armazena as informações dos usuários. Cada registro nesta tabela possui um id
único, nome
, email
, entre outros atributos pessoais e de acesso como password
.
Tabela: Blocked_Users
Contém informações sobre usuários que foram bloqueados temporariamente ou permanentemente, referenciando user_id
da tabela Users
.
Tabela: Medicines
Registra detalhes dos medicamentos disponíveis, incluindo batch
(lote), name
(nome) e strip
(faixa de controle).
Tabela: Medicine_PXSTS
Possivelmente controla o status de prescrição (PX) dos medicamentos para os usuários, conectando medicine_id
da tabela Medicines
e user_id
da tabela Users
.
Tabela: PYXTS
Essa tabela parece estar relacionada com outra forma de status ou registro ligado ao usuário ou prescrição médica, com atributos como created_at
.
Tabela: Orders
Armazena os pedidos realizados pelos usuários, indicando priority
(prioridade) e status
(estado do pedido), além de fazer referência a user_id
da tabela Users
.
Tabela: User_Order_Responsibility
Define responsabilidades específicas dos usuários em relação aos pedidos. Relaciona user_id
da tabela Users
com order_id
da tabela Orders
.
Enum: User Roles
Define os papéis de usuários dentro do sistema.
Enum: Order Priority
Categoriza os pedidos por níveis de prioridade como low
, normal
, e high
.
Enum: Order Status
Descreve os possíveis estados de um pedido, incluindo Pending
, Complete
, e Received
.
Enum: Medicine Stripes
Detalha os tipos de faixas de medicamentos disponíveis.
Relacionamentos
- Users e Blocked_Users:
Blocked_Users.user_id
é uma chave estrangeira que referenciaUsers.id
. - Users e Medicine_PXSTS:
Medicine_PXSTS.user_id
referenciaUsers.id
. - Medicines e Medicine_PXSTS:
Medicine_PXSTS.medicine_id
referenciaMedicines.id
. - Users e Orders:
Orders.user_id
referenciaUsers.id
. - Orders e User_Order_Responsibility:
User_Order_Responsibility.order_id
referenciaOrders.id
. - User_Order_Responsibility e Users:
User_Order_Responsibility.user_id
referenciaUsers.id
.
Essas relações ajudam a manter a integridade dos dados e facilitam consultas complexas e relatórios dentro do sistema.